#pragma once

#include<iostream>
#include<cstdio>
#include<cstdarg>
#include<ctime>
#include<string>

#define DEBUG 0
#define NORMAL 1
#define WARNING 2
#define ERROR 3
#define FATAL 4

const char* gLevelMap[]={"DEBUG","NORMAL","WARNING","ERROR","FATAL"};

// #define LOGFILE "./log_thread_pool.log"
#define LOGFILE "./http_test.log"

void logMessage(int level,const char* format, ...)
{

    char stdBuffer[1024];
    time_t timestamp = time(nullptr);
    snprintf(stdBuffer,sizeof stdBuffer,"[%s] [%ld%] ",gLevelMap[level],timestamp);


    char logBuffer[1024];
    va_list args;
    va_start(args,format);
    vsnprintf(logBuffer,sizeof logBuffer,format,args);
    va_end(args);

    printf("%s%s\n",stdBuffer,logBuffer);
    // FILE* fp = fopen(LOGFILE,"a");
    // fprintf(fp,"%s %s\n",stdBuffer,logBuffer);
    // fclose(fp);
}